home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
vdl020d.zip
/
VEMS2.DOC
< prev
next >
Wrap
Text File
|
1993-04-14
|
8KB
|
476 lines
{
════════════════════════════════════════════════════════════════════════════
Visionix Expanded Memory Services Unit (VEMS)
Copyright 1991,92,93 Visionix
ALL RIGHTS RESERVED
────────────────────────────────────────────────────────────────────────────
Revision history in reverse chronological order:
Initials Date Comment
──────── ──────── ────────────────────────────────────────────────────────
lpg 03/15/93 Added Source Documentation
mep 02/11/93 Cleaned up code for beta release
jrt 02/08/93 Sync with beta 0.12 release
jrt 12/07/92 Sync with beta 0.11 release
jrt 11/21/92 Sync with beta 0.08
jrt 11/18/92 First logged revision.
────────────────────────────────────────────────────────────────────────────
}
Unit VEMS;
Uses
VTypes,
DOS;
{────────────────────────────────────────────────────────────────────────────}
Type
TEMSHandle = WORD;
PEMSHadle = ^TEMSHandle;
TEMSError = BYTE;
{────────────────────────────────────────────────────────────────────────────}
{ EMS 3.0 functions. 4.0 is being implemented. }
Function VEMSInstalled : BOOLEAN;
Function VEMSGetVersion : BYTE;
Function VEMSGetPageFrameSeg : WORD;
Function VEMSGetStatus : TEMSError;
Function VEMSGetErrorText( EMSstatus : BYTE ) : STRING;
Function VEMSCountFreePages : WORD;
Function VEMSCountTotalPages : WORD;
Function VEMSNewPages( NumPages2Alloc : WORD ) : TEMSHandle;
Function VEMSPageMap( EMSHandle : TEMSHandle;
LogPage : WORD;
PhysPage : WORD ) : TEMSError;
Function VEMSDisposePages( EMSHandle : TEMSHandle ) : TEMSError;
Function VEMS30SavePageMap( Handle : TEMSHandle ) : TEMSError;
Function VEMS30RestorePageMap( Handle : TEMSHandle ) : TEMSError;
Function VEMSCountHandles : WORD;
Function VEMSHandlePageCount( Handle : TEMSHandle ) : WORD;
Function VEMSSavePageMap( Point : POINTER ) : TEMSError;
Function VEMSRestorePageMap( Point : POINTER ) : TEMSError;
Function VEMSSaveRestorePageMap( SourcePoint : POINTER;
DestPoint : POINTER ) : TEMSError;
Function VEMSGetPageMapSize : WORD;
{────────────────────────────────────────────────────────────────────────────}
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSInstalled : BOOLEAN;
[PARAMETERS]
(None)
[RETURNS]
Whether EMS Support is Available
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSGetVersion : BYTE;
[PARAMETERS]
(None)
[RETURNS]
EMS Version Number
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSGetPageFrameSeg : WORD;
[PARAMETERS]
(None)
[RETURNS]
EMS Page Frame Segment
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSGetStatus : TEMSError;
[PARAMETERS]
(None)
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSGetErrorText( Status : BYTE ) : STRING;
[PARAMETERS]
Status EMS Error Code
[RETURNS]
EMS Error Message Text
[DESCRIPTION]
Converts an EMS Error Code into a Text Error Message.
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSCountFreePages : WORD;
[PARAMETERS]
(None)
[RETURNS]
Number of Free EMS Pages
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSCountTotalPages : WORD;
[PARAMETERS]
(None)
[RETURNS]
Total Number of EMS Pages
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSNewPages( NumPages2Alloc : WORD ) : TEMSHandle; ;
[PARAMETERS]
NumPages2Alloc Number of Pages to Allocate
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSPageMap( Handle : TEMSHandle;
LogPage : WORD;
PhysPage : WORD ) : TEMSError;
[PARAMETERS]
Handle EMS Page Handle
LogPage Logical Page Number
PhysPage Physical Page Number
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSDisposePages( Handle : TEMSHandle ) : TEMSError;
[PARAMETERS]
Handle EMS Page Handle
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMS30SavePageMap( Handle : TEMSHandle ) : TEMSError;
[PARAMETERS]
Handle EMS Page Handle
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMS30RestorePageMap( Handle : TEMSHandle ) : TEMSError;
[PARAMETERS]
Handle EMS Page Handle
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSCountHandles : WORD;
[PARAMETERS]
(None)
[RETURNS]
Total Number of EMS Handles
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSHandlePageCount( Handle : TEMSHandle ) : WORD;
[PARAMETERS]
Handle EMS Page Handle
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSSavePageMap( Point : POINTER ) : TEMSError;
[PARAMETERS]
Point ?
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSRestorePageMap( Point : POINTER ) : TEMSError;
[PARAMETERS]
Point ?
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSSaveRestorePageMap( SourcePoint : POINTER;
DestPoint : POINTER ) : TEMSError;
[PARAMETERS]
SourcePoint ?
DestPoint ?
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VEMSGetPageMapSize : WORD;
[PARAMETERS]
(None)
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]